package com.warm.demo.mf.service;

import com.warm.demo.mf.api.dto.TestLeaveDto;
import com.warm.demo.mf.api.vo.TestLeaveVo;
import com.warm.demo.mf.domain.TestLeave;
import com.warm.mf.core.domain.QueryParam;
import com.warm.mf.core.page.TableDataInfo;
import com.warm.mf.core.service.IBaseService;

import java.util.List;

/**
 * OA 请假申请Service接口
 *
 * @author warm
 */
public interface ITestLeaveService extends IBaseService<TestLeave> {
    /**
     * 查询OA 请假申请
     *
     * @param id OA 请假申请主键
     * @return OA 请假申请
     */
    public TestLeaveVo selectById(Long id);

    /**
     * 分页查询OA 请假申请列表
     *
     * @param queryParam 分页对象
     * @param dto        OA 请假申请
     * @return 分页对象
     */
    TableDataInfo<TestLeaveVo> selectPage(QueryParam queryParam, TestLeaveDto dto);

    /**
     * 查询OA 请假申请列表
     *
     * @param dto OA 请假申请
     * @return OA 请假申请集合
     */
    public List<TestLeaveVo> selectList(TestLeaveDto dto);

    /**
     * 新增OA 请假申请
     *
     * @param dto OA 请假申请
     * @return 结果
     */
    public int insertByDto(TestLeaveDto dto);

    /**
     * 修改OA 请假申请
     *
     * @param dto OA 请假申请
     * @return 结果
     */
    public int updateByDto(TestLeaveDto dto);

    /**
     * 批量删除OA 请假申请
     *
     * @param ids 需要删除的OA 请假申请主键集合
     * @return 结果
     */
    public int deleteByIds(Long[] ids);

}
